1. Technical Field
The present invention relates generally to the field of computer software and, more particularly, to methods and system for updating programs and data files based upon versions.
2. Description of Related Art
Software development is the process of creating a software application program, such as, for example, a word processor, web browser, or spreadsheet, to use on a computer. To create these software application programs, software developers (or programmers) utilize software developer's toolkits (toolkits), such as, for example, Java developer's toolkit (JDK), which is available from Sun Microsystems, Inc. Toolkits provide the software developer or programmer with an integrated set of software routines and utilities that aid the programmer in writing and developing software application programs and/or in creating and maintaining databases. For example, for graphical interfaces, a toolkit may provide the tools and libraries for creating menus, dialog boxes, fonts and icons. The toolkit also provides the means to link the application program to libraries of software routines and to link the program with the operating environment, such as Windows™. Windows is a product and trademark of Microsoft Corporation of Redmond, Wash.
The current pace of technological innovation and change is faster than ever before. In particular, developments in semiconductor and other computer hardware technologies are creating faster and more powerful data processing systems every day. These developments create new opportunities and capabilities which software developers may utilize to provide better, faster software applications having more features desired by users.
To keep up with and utilize these technological changes in computing systems and to keep up with or ahead of the competition, software developers are constantly updating and modifying their programs to add more features and to perform faster and more efficiently. However, not all data processing systems utilize the same type of computer architecture nor do they all utilize the same operating systems. Thus, many applications have many versions written, each version intended for use on a different type of data processing system. For example, a consumer may purchase Quicken® for Windows or Quicken for the Macintosh™, depending on the type of computer the consumer owns. Quicken is a personal financial management software product and a registered trademark of Intuit Inc. of Mountain View, Calif. Macintosh is a trademark of Apple Computer, Inc. of Cupertino, Calif.
Currently, when an update or modification is made to an installation toolkit providing support for new features that may be useful for the software application programs, each version of the installation toolkit used in the application programs must have its own update created to update the installer for each application program. This is tedious and time consuming, thus many times, developers do not release an immediate update to their application after a fix or improvement is made waiting instead until many improvements have been made. However, many times users are anxiously awaiting these changes and improvements. Thus, it would be advantageous to have a method, system, and apparatus for the creation of a single update program that may update the many versions of an installer toolkit and work across all supported hardware platforms and/or operating systems. Such single update program should free the developer from having to create a distinct update program for each version of the program and for each hardware platform and operating system on which the program executes, thus encouraging more frequent releases of updates.